#ifndef _CPRODUIT_H_
#define _CPRODUIT_H_

/* Macro définition permettant de calculer l'indice de l'élément (i,j) 
   d'une matrice de nc colonnes. */
#define I2D(i, j, nc) ((i)*(nc)+(j))

/* Retourne le produit scalaire des vecteurs v1 et v2 de longueur n,
   avec les éléments de v2 espacés de d2 indices (d2=1 indique qu'ils 
   sont contigus en mémoire). */
double pScalC(double *v1, double *v2, int n, int d2);

/* Retourne le produit matriciel des matrices m1 et m2, de taille l1xc1
   et c1xc2 respectivement. La fonction retourne le résultat dans la 
   matrice m3 que l'on suppose déjà allouée et de taille l1xc2.*/
void pMatC(double *m1, double *m2, int l1, int c1, int c2, double *m3);

#endif
